This can happen since we ref the window and do the function in an idle.
changed_toplevel = data;
changed_toplevel_priv = (GdkWindowObject *)changed_toplevel;
+ changed_toplevel_priv->synthesize_crossing_event_queued = FALSE;
+
+ if (GDK_WINDOW_DESTROYED (changed_toplevel))
+ return;
+
display = gdk_drawable_get_display (changed_toplevel);
serial = _gdk_windowing_window_get_next_serial (display);
- changed_toplevel_priv->synthesize_crossing_event_queued = FALSE;
-
if (changed_toplevel == display->pointer_info.toplevel_under_pointer)
{
new_window_under_pointer =